      SUBROUTINE OPER ( MESSAG, WHO )
C*
C*                  *******************************
C*                  *******************************
C*                  **                           **
C*                  **          OPER             **
C*                  **                           **
C*                  *******************************
C*                  *******************************
C*
C*     SUBPROGRAM :
C*          OPERATOR MESSAGE
C*
C*     AUTHOR :
C*          ART RAGOSTA
C*          MS 207-5
C*          AMES RESEARCH CENTER
C*          MOFFETT FIELD, CA   94035
C*          (415) 694-5578
C*
C*     PURPOSE :
C*          TO SEND A MESSAGE TO AN OPERATOR'S CONSOLE.
C*
C*     INPUT ARGUMENTS :
C*          MESSAG  - THE MESSAGE TO BE SENT
C*          WHO     - WHICH OPERATOR TO SEND IT TO (EG, 'CENTRAL','TAPES')
C*
C*     OUTPUT ARGUMENTS :
C*          NONE
C*
C*     INTERNAL WORK AREAS :
C*          MSGBUF - THE BUFFER FOR THE MESSAGE AND COMMAND CODES
C*          OPER,IOPER - THE OPERATOR TARGET CODES IN ASCII AND BINARY
C*
C*     COMMON BLOCKS :
C*          NONE
C*
C*     FILE REFERENCES :
C*          NONE
C*
C*     SUBPROGRAM REFERENCES :
C*          SYS$SNDOPR
C*
C*     ERROR PROCESSING :
C*          NONE
C*
C*     TRANSPORTABILITY LIMITATIONS :
C*          HIGHLY NON-TRANSPORTABLE
C*
C*     ASSUMPTIONS AND RESTRICTIONS :
C*          NO CHECK IS DONE ON 'WHO' FOR ACCURACY
C*
C*     LANGUAGE AND COMPILER :
C*          ANSI FORTRAN 77
C*
C*     VERSION AND DATE :
C*          VERSION I.0     25-JUL-85
C*
C*     CHANGE HISTORY :
C*          25-JUL-85    INITIAL VERSION
C*
C***********************************************************************
C*
      CHARACTER *(*) MESSAG, WHO
      CHARACTER *132 MSGBUF
      CHARACTER *2 OPERS(11), DUMMY
      INTEGER *2 IOPER(11), IDUMMY
      EQUIVALENCE (DUMMY,IDUMMY)
C
C --- OPERATOR TARGET CODES FROM SYSLIB:STARLET($OPCDEF)
C
      DATA OPERS/'CE','PR','TA','DI','DE','CA','NT','CL','SE','RE','NE'/
      DATA IOPER/ 1,   2,   4,   8,   16,  32,  64, 128, 256, 512,  64/
C
C --- TO WHOM DO WE SEND THE MESSAGE ?
C
      DO 10 I = 1,11
         IF (WHO(1:2) .EQ. OPERS(I)) GO TO 20
10       CONTINUE
      I = 1
C
20    MSGBUF(1:1) = CHAR(3)           ! REQUEST ALWAYS
      IDUMMY = IOPER(I)
      MSGBUF(2:2) = CHAR(0)
      MSGBUF(3:4) = DUMMY             ! OPERATOR TARGET CODE
      MSGBUF(5:8) = '    '
      MSGBUF(9:132) = MESSAG          ! USER MESSAGE
C
      ISTAT = SYS$SNDOPR(MSGBUF,)
      RETURN
      END
C
C---END OPER
C
